package userService

import (
	"bookStore/customError"
	"bookStore/mapper/userMapper"
	"bookStore/model"
	"bookStore/util/cookieUtils"
	"log"
	"strconv"
)

func Login(name, password string) (model.User, string, error) {
	user := userMapper.FindUserByNameAndPassword(name, password)
	if user.IsEmpty() {
		err := customError.Error{ErrMsg: "用户名密码错误"}
		return user, "", &err
	}
	cookie := cookieUtils.GenerateCookie(strconv.FormatInt(user.ID, 10))
	return user, cookie, nil
}

func AddUser(user *model.User) error {
	if user.IsEmpty() {
		return &customError.Error{ErrMsg: "要添加的用户信息不能为空"}
	}
	err := userMapper.AddUser(user)
	if err != nil {
		log.Println("user信息插入失败", err.Error())
	}
	return err
}

func BatchAddUser(users []model.User) error {
	if len(users) == 0 {
		return &customError.Error{ErrMsg: "用户信息不能为空"}
	}
	err := userMapper.BatchAddUser(users)
	if err != nil {
		log.Println("user信息插入失败", err)
	}
	return err
}

func FindUserById(userId int64) model.User {
	return userMapper.FindUserById(userId)
}
